#ifndef OBJECTFACTORY_H
#define OBJECTFACTORY_H

#include <string>

#include "../../World.hpp"
#include "../../light/Light.hpp"
#include "../../camera/Camera.hpp"
#include "../../object/GameObject.hpp"

#include "../../../game/object/Rocket.h"
#include "../../../game/object/Asteroid.h"
#include "../../../game/object/Player.h"

#include "../Global.h"

class ObjectFactory {
    private:
        static ObjectFactory* instance;
        ObjectFactory();
        ~ObjectFactory();

    public:
        static ObjectFactory* getInstance();

        GameObject* parseObject(std::string);

        Light* createLight();
        Asteroid* createAsteroid();
};

#endif // OBJECTFACTORY_H
